import gmpy2
import libnum
import sympy
e= 65537
d= 101594869720546931320854078122074713525440214937312570093875805795442939419150687426541696295674878779299548914655788437314309125616957909033562280929717866606065779817497302315467363623403872305239280119140790162548715397120510561988704976218698155764361497527906154413313848193338028881708170081388311050841
c= 35017095079265838979734409416685141495410012751608421171984571206906907112637156478970636762948745062984603962185272983251479813367054508240145465939059405315210753494552412701642616337156914318259643364976440231342251176780836484538401507518406607672852280282429279213480081726239103353793034991628250368074

ed1=e*d-1
for k in range(65537,1,-1):

        if ed1 % k == 0:
            phi = ed1 // k
            p1,s1 = gmpy2.iroot(phi, 2)
            p = sympy.prevprime(p1)
            q = gmpy2.next_prime(p1)
            if phi % (q - 1) ==0:
                break


n=p*q
m=pow(c,d,n)
print(libnum.n2s(int(m)))
